package client;

import interfaces.*;
import client.*;
import serveur.*;
import java.rmi.*; 
import java.util.*; 
import java.rmi.server.UnicastRemoteObject;

public class MessageImpl extends UnicastRemoteObject implements MessageITF {

	// ID unique du message dans le réseau
	static int id = 0;
	// ID unique du client dans le réseau
	int id_client;
	// Contenu du message
	String msg;
	// Liste des personnes ayant déjà vu le message
	Vector<ClientITF> have_seen = new Vector();

	// NOTE : J'ai supprimé les constructeurs qui sont inutiles
	// (ils ne donnent pas assez d'infos ou trop)
	public MessageImpl(ClientITF _client, String _msg) throws RemoteException
	{
		id++;
		id_client = _client.getCapacity();
		msg = new String(_msg);
		have_seen.addElement(_client);
	}

	public void setID(int _id) throws RemoteException
	{
		id = _id;
	}
	
	public int getID() throws RemoteException
	{
		return id;
	}
	
	public void setText(String text) throws RemoteException
	{
		msg = text;
	}
	
	public String getText() throws RemoteException
	{
		return msg;
	}
	
	public void addHaveSeen(ClientITF client) throws RemoteException
	{
		have_seen.add(client);
	}
	
	public Vector getHaveSeen() throws RemoteException
	{
		return have_seen;
	}
	
	public void setIdClient(int capacity) throws RemoteException
	{
		id_client = capacity;
	}

	public int getIdClient() throws RemoteException
	{
		return id_client;
	}
	
}
